// ============================== 导入依赖 ============================== //

import CORE from '@/CORE'
import ListClass from '@api/efficiency/model/EnergyRankReq'
import state from '@admin/views/Energy/Config/ConfigCategory/store/state'
import API from './API'

const ELEC = CORE.MAP.ENERGY_HAS_ELEC ? [[1, '耗电排名', '耗电量 (kW·h)']] : []
const WATER = CORE.MAP.ENERGY_HAS_WATER ? [[2, '耗水排名', '耗水量 (t)']] : []
const GAS = CORE.MAP.ENERGY_HAS_GAS ? [[3, '耗气排名', '耗气量 (m³)']] : []

const TYPE = [
  ...ELEC,
  ...WATER,
  ...GAS,
  [4, '碳排排名', '碳排量 (kg)'],
]

// ============================== 导出状态集 ============================== //

export default {
  // —————————————————————————————— 常量状态 —————————————————————————————— //

  /**
   * 接口
   */
  API,

  /**
   * 映射
   */
  MAP: {
    WORD: '排名', // 词语
  },

  /**
   * 字典
   */
  DICT: {
    /**
     * 分类
     */
    CATEGORY: state.DICT.CATEGORY,

    /**
     * 类型
     */
    TYPE,
  },

  /**
   * 初始参数
   *
   * 1. 初始存在，才能响应
   * 2. CORE.mixStore(store) 时使用
   * 3. setParam() 重置时使用
   * 4. WebSearch 高级查询点重置时使用
   */
  INIT_PARAM: CORE.initObj(ListClass, {
    statisticType: 1, // 分类
    energyType: TYPE[0][0], // 类型
    beginTime: CORE.timeNum(CORE.today().slice(0, 7)), // 月初 00:00:00
    endTime: CORE.timeNum(CORE.today(1), -1), // 今天 23:59:59
  }),
}
